package com.dragon.modules.yuegou.entity.park;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.park.HistoryPayType;
import com.dragon.modules.yuegou.enums.park.HistoryStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 历史停车信息表实体类<br>
 * 对应的表为：park_history<br>
 * 
 * @author px
 * @date 2019-03-27 14:45:59
 * @company sgy
 * @version 2.0
 */
@TableName("park_history")
@ApiModel(description = "历史停车信息表")
public class HistoryEntity {

    /** 第三方ID */
	@ApiModelProperty("第三方ID")
	protected String thirdId;

    /** 商圈ID */
	@ApiModelProperty("商圈ID")
	protected String busdId;

    /** 会员ID */
	@ApiModelProperty("会员ID")
	protected String memberId;

    /** 会员手机号 */
	@ApiModelProperty("会员手机号")
	protected String memberMobile;

    /**  */
	protected String plateNumber;

    /** 停车场ID */
	@ApiModelProperty("停车场ID")
	protected String parkingId;

    /** 第三方系统停车场编号 */
	@ApiModelProperty("第三方系统停车场编号")
	protected String parkingThirdNo;

    /** 停车场名称 */
	@ApiModelProperty("停车场名称")
	protected String parkingName;

    /** 用户类型 76:长租用户；77：临停用户 */
	@ApiModelProperty("用户类型 76:长租用户；77：临停用户")
	protected String userType;

    /** 入场时间 */
	@ApiModelProperty("入场时间")
	protected LocalDateTime entranceTime;

    /** 出场时间 */
	@ApiModelProperty("出场时间")
	protected LocalDateTime exitTime;

    /** 停留时间(以秒为单位计算) */
	@ApiModelProperty("停留时间(以秒为单位计算)")
	protected Long stayedTime;

    /** 总停车费 */
	@ApiModelProperty("总停车费")
	protected BigDecimal parkingFee;

    /** 已缴停车费 */
	@ApiModelProperty("已缴停车费")
	protected BigDecimal paidFee;

    /** 线上已缴费用 */
	@ApiModelProperty("线上已缴费用")
	protected BigDecimal paidOnlineFee;

    /** 线上缴费次数 */
	@ApiModelProperty("线上缴费次数")
	protected Integer paidTotal;

    /** 线下缴费费用 */
	@ApiModelProperty("线下缴费费用")
	protected BigDecimal paidOfflineFee;

    /** 长租车位ID */
	@ApiModelProperty("长租车位ID")
	protected String fixParkingId;

    /** 长租剩余天数 如果是临停用户此字段为空 */
	@ApiModelProperty("长租剩余天数 如果是临停用户此字段为空")
	protected String remainingDays;

    /** 停车券ID */
	@ApiModelProperty("停车券ID")
	protected String couponId;

    /** 停车券名字 */
	@ApiModelProperty("停车券名字")
	protected String couponName;

    /** 停车券抵扣金额 */
	@ApiModelProperty("停车券抵扣金额")
	protected BigDecimal couponDiscountFee;

    /** [枚举]车牌状态：0-未入场-OUTSIDE、1-已入场-INSIDE */
	@ApiModelProperty("[枚举]车牌状态：0-未入场-OUTSIDE、1-已入场-INSIDE")
	protected HistoryStatus status;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 更新时间 */
	@ApiModelProperty("更新时间")
	protected LocalDateTime modifiedTime;

    /** 积分抵扣金额 */
	@ApiModelProperty("积分抵扣金额")
	protected BigDecimal integralFee;

    /** 抵扣积分 */
	@ApiModelProperty("抵扣积分")
	protected Integer integral;

    /** [枚举]支付类型：1-平台-PLATFORM、2-支付宝-ALIPAY、3-微信-WECHAT */
	@ApiModelProperty("[枚举]支付类型：1-平台-PLATFORM、2-支付宝-ALIPAY、3-微信-WECHAT")
	protected HistoryPayType payType;

	/**
	 * 构造一个空历史停车信息表实体对象
	 */
	public HistoryEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个历史停车信息表实体对象
	 * 
	 * @param other 其它对象
	 */
	public HistoryEntity(HistoryEntity other){
		super();
     	this.thirdId = other.thirdId;
     	this.busdId = other.busdId;
     	this.memberId = other.memberId;
     	this.memberMobile = other.memberMobile;
     	this.plateNumber = other.plateNumber;
     	this.parkingId = other.parkingId;
     	this.parkingThirdNo = other.parkingThirdNo;
     	this.parkingName = other.parkingName;
     	this.userType = other.userType;
     	this.entranceTime = other.entranceTime;
     	this.exitTime = other.exitTime;
     	this.stayedTime = other.stayedTime;
     	this.parkingFee = other.parkingFee;
     	this.paidFee = other.paidFee;
     	this.paidOnlineFee = other.paidOnlineFee;
     	this.paidTotal = other.paidTotal;
     	this.paidOfflineFee = other.paidOfflineFee;
     	this.fixParkingId = other.fixParkingId;
     	this.remainingDays = other.remainingDays;
     	this.couponId = other.couponId;
     	this.couponName = other.couponName;
     	this.couponDiscountFee = other.couponDiscountFee;
     	this.status = other.status;
     	this.createdTime = other.createdTime;
     	this.modifiedTime = other.modifiedTime;
     	this.integralFee = other.integralFee;
     	this.integral = other.integral;
     	this.payType = other.payType;
	}


	/**
	 * 获取第三方ID
	 * 
	 * @return thirdId 第三方ID
	 */
	public String getThirdId() {
		return thirdId;
	}
  	
	/**
	 * 设置第三方ID
	 * 
	 * @param thirdId 第三方ID
	 */
	public void setThirdId(String thirdId) {
		this.thirdId = thirdId;
	}

	/**
	 * 获取商圈ID
	 * 
	 * @return busdId 商圈ID
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈ID
	 * 
	 * @param busdId 商圈ID
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取会员ID
	 * 
	 * @return memberId 会员ID
	 */
	public String getMemberId() {
		return memberId;
	}
  	
	/**
	 * 设置会员ID
	 * 
	 * @param memberId 会员ID
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	/**
	 * 获取会员手机号
	 * 
	 * @return memberMobile 会员手机号
	 */
	public String getMemberMobile() {
		return memberMobile;
	}
  	
	/**
	 * 设置会员手机号
	 * 
	 * @param memberMobile 会员手机号
	 */
	public void setMemberMobile(String memberMobile) {
		this.memberMobile = memberMobile;
	}

	/**
	 * 获取
	 * 
	 * @return plateNumber 
	 */
	public String getPlateNumber() {
		return plateNumber;
	}
  	
	/**
	 * 设置
	 * 
	 * @param plateNumber 
	 */
	public void setPlateNumber(String plateNumber) {
		this.plateNumber = plateNumber;
	}

	/**
	 * 获取停车场ID
	 * 
	 * @return parkingId 停车场ID
	 */
	public String getParkingId() {
		return parkingId;
	}
  	
	/**
	 * 设置停车场ID
	 * 
	 * @param parkingId 停车场ID
	 */
	public void setParkingId(String parkingId) {
		this.parkingId = parkingId;
	}

	/**
	 * 获取第三方系统停车场编号
	 * 
	 * @return parkingThirdNo 第三方系统停车场编号
	 */
	public String getParkingThirdNo() {
		return parkingThirdNo;
	}
  	
	/**
	 * 设置第三方系统停车场编号
	 * 
	 * @param parkingThirdNo 第三方系统停车场编号
	 */
	public void setParkingThirdNo(String parkingThirdNo) {
		this.parkingThirdNo = parkingThirdNo;
	}

	/**
	 * 获取停车场名称
	 * 
	 * @return parkingName 停车场名称
	 */
	public String getParkingName() {
		return parkingName;
	}
  	
	/**
	 * 设置停车场名称
	 * 
	 * @param parkingName 停车场名称
	 */
	public void setParkingName(String parkingName) {
		this.parkingName = parkingName;
	}

	/**
	 * 获取用户类型 76:长租用户；77：临停用户
	 * 
	 * @return userType 用户类型 76:长租用户；77：临停用户
	 */
	public String getUserType() {
		return userType;
	}
  	
	/**
	 * 设置用户类型 76:长租用户；77：临停用户
	 * 
	 * @param userType 用户类型 76:长租用户；77：临停用户
	 */
	public void setUserType(String userType) {
		this.userType = userType;
	}

	/**
	 * 获取入场时间
	 * 
	 * @return entranceTime 入场时间
	 */
	public LocalDateTime getEntranceTime() {
		return entranceTime;
	}
  	
	/**
	 * 设置入场时间
	 * 
	 * @param entranceTime 入场时间
	 */
	public void setEntranceTime(LocalDateTime entranceTime) {
		this.entranceTime = entranceTime;
	}

	/**
	 * 获取出场时间
	 * 
	 * @return exitTime 出场时间
	 */
	public LocalDateTime getExitTime() {
		return exitTime;
	}
  	
	/**
	 * 设置出场时间
	 * 
	 * @param exitTime 出场时间
	 */
	public void setExitTime(LocalDateTime exitTime) {
		this.exitTime = exitTime;
	}

	/**
	 * 获取停留时间(以秒为单位计算)
	 * 
	 * @return stayedTime 停留时间(以秒为单位计算)
	 */
	public Long getStayedTime() {
		return stayedTime;
	}
  	
	/**
	 * 设置停留时间(以秒为单位计算)
	 * 
	 * @param stayedTime 停留时间(以秒为单位计算)
	 */
	public void setStayedTime(Long stayedTime) {
		this.stayedTime = stayedTime;
	}

	/**
	 * 获取总停车费
	 * 
	 * @return parkingFee 总停车费
	 */
	public BigDecimal getParkingFee() {
		return parkingFee;
	}
  	
	/**
	 * 设置总停车费
	 * 
	 * @param parkingFee 总停车费
	 */
	public void setParkingFee(BigDecimal parkingFee) {
		this.parkingFee = parkingFee;
	}

	/**
	 * 获取已缴停车费
	 * 
	 * @return paidFee 已缴停车费
	 */
	public BigDecimal getPaidFee() {
		return paidFee;
	}
  	
	/**
	 * 设置已缴停车费
	 * 
	 * @param paidFee 已缴停车费
	 */
	public void setPaidFee(BigDecimal paidFee) {
		this.paidFee = paidFee;
	}

	/**
	 * 获取线上已缴费用
	 * 
	 * @return paidOnlineFee 线上已缴费用
	 */
	public BigDecimal getPaidOnlineFee() {
		return paidOnlineFee;
	}
  	
	/**
	 * 设置线上已缴费用
	 * 
	 * @param paidOnlineFee 线上已缴费用
	 */
	public void setPaidOnlineFee(BigDecimal paidOnlineFee) {
		this.paidOnlineFee = paidOnlineFee;
	}

	/**
	 * 获取线上缴费次数
	 * 
	 * @return paidTotal 线上缴费次数
	 */
	public Integer getPaidTotal() {
		return paidTotal;
	}
  	
	/**
	 * 设置线上缴费次数
	 * 
	 * @param paidTotal 线上缴费次数
	 */
	public void setPaidTotal(Integer paidTotal) {
		this.paidTotal = paidTotal;
	}

	/**
	 * 获取线下缴费费用
	 * 
	 * @return paidOfflineFee 线下缴费费用
	 */
	public BigDecimal getPaidOfflineFee() {
		return paidOfflineFee;
	}
  	
	/**
	 * 设置线下缴费费用
	 * 
	 * @param paidOfflineFee 线下缴费费用
	 */
	public void setPaidOfflineFee(BigDecimal paidOfflineFee) {
		this.paidOfflineFee = paidOfflineFee;
	}

	/**
	 * 获取长租车位ID
	 * 
	 * @return fixParkingId 长租车位ID
	 */
	public String getFixParkingId() {
		return fixParkingId;
	}
  	
	/**
	 * 设置长租车位ID
	 * 
	 * @param fixParkingId 长租车位ID
	 */
	public void setFixParkingId(String fixParkingId) {
		this.fixParkingId = fixParkingId;
	}

	/**
	 * 获取长租剩余天数 如果是临停用户此字段为空
	 * 
	 * @return remainingDays 长租剩余天数 如果是临停用户此字段为空
	 */
	public String getRemainingDays() {
		return remainingDays;
	}
  	
	/**
	 * 设置长租剩余天数 如果是临停用户此字段为空
	 * 
	 * @param remainingDays 长租剩余天数 如果是临停用户此字段为空
	 */
	public void setRemainingDays(String remainingDays) {
		this.remainingDays = remainingDays;
	}

	/**
	 * 获取停车券ID
	 * 
	 * @return couponId 停车券ID
	 */
	public String getCouponId() {
		return couponId;
	}
  	
	/**
	 * 设置停车券ID
	 * 
	 * @param couponId 停车券ID
	 */
	public void setCouponId(String couponId) {
		this.couponId = couponId;
	}

	/**
	 * 获取停车券名字
	 * 
	 * @return couponName 停车券名字
	 */
	public String getCouponName() {
		return couponName;
	}
  	
	/**
	 * 设置停车券名字
	 * 
	 * @param couponName 停车券名字
	 */
	public void setCouponName(String couponName) {
		this.couponName = couponName;
	}

	/**
	 * 获取停车券抵扣金额
	 * 
	 * @return couponDiscountFee 停车券抵扣金额
	 */
	public BigDecimal getCouponDiscountFee() {
		return couponDiscountFee;
	}
  	
	/**
	 * 设置停车券抵扣金额
	 * 
	 * @param couponDiscountFee 停车券抵扣金额
	 */
	public void setCouponDiscountFee(BigDecimal couponDiscountFee) {
		this.couponDiscountFee = couponDiscountFee;
	}

	/**
	 * 获取[枚举]车牌状态：0-未入场-OUTSIDE、1-已入场-INSIDE
	 * 
	 * @return status [枚举]车牌状态：0-未入场-OUTSIDE、1-已入场-INSIDE
	 */
	public HistoryStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]车牌状态：0-未入场-OUTSIDE、1-已入场-INSIDE
	 * 
	 * @param status [枚举]车牌状态：0-未入场-OUTSIDE、1-已入场-INSIDE
	 */
	public void setStatus(HistoryStatus status) {
		this.status = status;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取更新时间
	 * 
	 * @return modifiedTime 更新时间
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置更新时间
	 * 
	 * @param modifiedTime 更新时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取积分抵扣金额
	 * 
	 * @return integralFee 积分抵扣金额
	 */
	public BigDecimal getIntegralFee() {
		return integralFee;
	}
  	
	/**
	 * 设置积分抵扣金额
	 * 
	 * @param integralFee 积分抵扣金额
	 */
	public void setIntegralFee(BigDecimal integralFee) {
		this.integralFee = integralFee;
	}

	/**
	 * 获取抵扣积分
	 * 
	 * @return integral 抵扣积分
	 */
	public Integer getIntegral() {
		return integral;
	}
  	
	/**
	 * 设置抵扣积分
	 * 
	 * @param integral 抵扣积分
	 */
	public void setIntegral(Integer integral) {
		this.integral = integral;
	}

	/**
	 * 获取[枚举]支付类型：1-平台-PLATFORM、2-支付宝-ALIPAY、3-微信-WECHAT
	 * 
	 * @return payType [枚举]支付类型：1-平台-PLATFORM、2-支付宝-ALIPAY、3-微信-WECHAT
	 */
	public HistoryPayType getPayType() {
		return payType;
	}
  	
	/**
	 * 设置[枚举]支付类型：1-平台-PLATFORM、2-支付宝-ALIPAY、3-微信-WECHAT
	 * 
	 * @param payType [枚举]支付类型：1-平台-PLATFORM、2-支付宝-ALIPAY、3-微信-WECHAT
	 */
	public void setPayType(HistoryPayType payType) {
		this.payType = payType;
	}

    public String toString() {
		return new StringBuilder().append("HistoryEntity{").
			append("thirdId=").append(thirdId).
			append(",busdId=").append(busdId).
			append(",memberId=").append(memberId).
			append(",memberMobile=").append(memberMobile).
			append(",plateNumber=").append(plateNumber).
			append(",parkingId=").append(parkingId).
			append(",parkingThirdNo=").append(parkingThirdNo).
			append(",parkingName=").append(parkingName).
			append(",userType=").append(userType).
			append(",entranceTime=").append(entranceTime).
			append(",exitTime=").append(exitTime).
			append(",stayedTime=").append(stayedTime).
			append(",parkingFee=").append(parkingFee).
			append(",paidFee=").append(paidFee).
			append(",paidOnlineFee=").append(paidOnlineFee).
			append(",paidTotal=").append(paidTotal).
			append(",paidOfflineFee=").append(paidOfflineFee).
			append(",fixParkingId=").append(fixParkingId).
			append(",remainingDays=").append(remainingDays).
			append(",couponId=").append(couponId).
			append(",couponName=").append(couponName).
			append(",couponDiscountFee=").append(couponDiscountFee).
			append(",status=").append(status).
			append(",createdTime=").append(createdTime).
			append(",modifiedTime=").append(modifiedTime).
			append(",integralFee=").append(integralFee).
			append(",integral=").append(integral).
			append(",payType=").append(payType).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public HistoryEntity copy() {
		return new HistoryEntity(this);
	}

    /** 第三方ID */
	public static final String COL_THIRD_ID = "third_id";

    /** 商圈ID */
	public static final String COL_BUSD_ID = "busd_id";

    /** 会员ID */
	public static final String COL_MEMBER_ID = "member_id";

    /** 会员手机号 */
	public static final String COL_MEMBER_MOBILE = "member_mobile";

    /**  */
	public static final String COL_PLATE_NUMBER = "plate_number";

    /** 停车场ID */
	public static final String COL_PARKING_ID = "parking_id";

    /** 第三方系统停车场编号 */
	public static final String COL_PARKING_THIRD_NO = "parking_third_no";

    /** 停车场名称 */
	public static final String COL_PARKING_NAME = "parking_name";

    /** 用户类型 76:长租用户；77：临停用户 */
	public static final String COL_USER_TYPE = "user_type";

    /** 入场时间 */
	public static final String COL_ENTRANCE_TIME = "entrance_time";

    /** 出场时间 */
	public static final String COL_EXIT_TIME = "exit_time";

    /** 停留时间(以秒为单位计算) */
	public static final String COL_STAYED_TIME = "stayed_time";

    /** 总停车费 */
	public static final String COL_PARKING_FEE = "parking_fee";

    /** 已缴停车费 */
	public static final String COL_PAID_FEE = "paid_fee";

    /** 线上已缴费用 */
	public static final String COL_PAID_ONLINE_FEE = "paid_online_fee";

    /** 线上缴费次数 */
	public static final String COL_PAID_TOTAL = "paid_total";

    /** 线下缴费费用 */
	public static final String COL_PAID_OFFLINE_FEE = "paid_offline_fee";

    /** 长租车位ID */
	public static final String COL_FIX_PARKING_ID = "fix_parking_id";

    /** 长租剩余天数 如果是临停用户此字段为空 */
	public static final String COL_REMAINING_DAYS = "remaining_days";

    /** 停车券ID */
	public static final String COL_COUPON_ID = "coupon_id";

    /** 停车券名字 */
	public static final String COL_COUPON_NAME = "coupon_name";

    /** 停车券抵扣金额 */
	public static final String COL_COUPON_DISCOUNT_FEE = "coupon_discount_fee";

    /** [枚举]车牌状态：0-未入场-OUTSIDE、1-已入场-INSIDE */
	public static final String COL_STATUS = "status";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 更新时间 */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /** 积分抵扣金额 */
	public static final String COL_INTEGRAL_FEE = "integral_fee";

    /** 抵扣积分 */
	public static final String COL_INTEGRAL = "integral";

    /** [枚举]支付类型：1-平台-PLATFORM、2-支付宝-ALIPAY、3-微信-WECHAT */
	public static final String COL_PAY_TYPE = "pay_type";
}
